package logicaDelNegocio;

import java.util.List;

import excepciones.NoExisteTerminalException;

public class LLamada {
	public static final String interna = "Interna-Interna";
	public static final String internaExterna = "Interna-Externa";
	public static final String  externaInterna = "Externa-Interna";

	String tipo;
	String numeroOrigen;
	String numeroDestino;
	int duracionDeLlamada;
	String idTerminalOrigen;
	String idTerminalDestino;
	int espera;
	List<Conmutador> listaConmutadores;

	

	public LLamada (String idTerminalOrigen, String idTerminalDestino, int duracion, List<Conmutador> conmutadores) {

		this.idTerminalOrigen = idTerminalOrigen;
		this.idTerminalDestino = idTerminalDestino;
		this.duracionDeLlamada = duracion;
		this.listaConmutadores = conmutadores;
		this.numeroOrigen = getNumeroTerminal(idTerminalOrigen, conmutadores);
		this.numeroDestino = getNumeroTerminal(idTerminalDestino, conmutadores);

		System.out.println(numeroOrigen + " " + numeroDestino);

	}

	private String getNumeroTerminal(String idTerminal, List<Conmutador> conmutadores){
		String numeroTerminal=null;
		for(Conmutador c: conmutadores){
			for(Terminal t: c.getListaDeTerminales()){
				if(idTerminal.equals(t.getIdTerminal())){
					numeroTerminal = t.getNumeroTerminal();
				}
			}
		}
		return numeroTerminal;
	}

	private void tipoDeLlamada(int numeroOrigen, int numeroDestino){
		String nO = Integer.toString(numeroOrigen);
		String nD = Integer.toString(numeroDestino);

		if(nO.length() == nD.length()){
			this.tipo = interna;
		}

		if(nO.length() < nD.length()){
			this.tipo = internaExterna;
		}else{
			this.tipo = externaInterna;
		}
	}

	public String getTipo() {
		return tipo;
	}


	public void setTipo(String tipo) {
		this.tipo = tipo;
	}


	public String getNumeroOrigen() {
		return numeroOrigen;
	}


	public void setNumeroOrigen(String numeroOrigen) {
		this.numeroOrigen = numeroOrigen;
	}


	public String getNumeroDestino() {
		return numeroDestino;
	}


	public void setNumeroDestino(String numeroDestino) {
		this.numeroDestino = numeroDestino;
	}


	public int getDuracionDeLlamada() {
		return duracionDeLlamada;
	}


	public void setDuracionDeLlamada(int duracionDeLlamada) {
		this.duracionDeLlamada = duracionDeLlamada;
	}


	public String getIdTerminalOrigen() {
		return idTerminalOrigen;
	}


	public void setIdTerminalOrigen(String idTerminalOrigen) {
		this.idTerminalOrigen = idTerminalOrigen;
	}


	public String getIdTerminalDestino() {
		return idTerminalDestino;
	}


	public void setIdTerminalDestino(String idTerminalDestino) {
		this.idTerminalDestino = idTerminalDestino;
	}

	public int getEspera() {
		return espera;
	}

	public void setEspera(int espera) {
		this.espera = espera;
	}



}
